package com.dwxt.sport.business.entity;

import com.dwxt.sport.util.DictUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.time.LocalDateTime;
@Data
@Accessors(chain = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@Table(name = "t_fitness_survey_equipment")
public class FitnessSurveyEquipment {

    @Id
    private String id;

    /**
     * 体质监测关联id
     */
    @Column(name = "fitness_survey_id")
    @ApiModelProperty("体质监测关联id")
    private String fitnessSurveyId;

    /**
     * 设备id
     */
    @Column(name = "equipment_id")
    @ApiModelProperty("设备id")
    private String equipmentId;

    /**
     * 设备位置
     */
    @Column(name = "device_location")
    @ApiModelProperty("设备位置")
    private String deviceLocation;

    /**
     * 使用频率(次/天)
     */
    @ApiModelProperty("使用频率(次/天)")
    private Double session;

    /**
     * 使用人次
     */
    @Column(name = "building_use")
    @ApiModelProperty("使用人次")
    private Integer buildingUse;

    /**
     * 平均使用时长(单位:min)
     */
    @Column(name = "average_usage_time")
    @ApiModelProperty("平均使用时长(单位:min)")
    private Integer avg;

    /**
     * 使用总时长(单位:min)
     */
    @Column(name = "total_usage_time")
    @ApiModelProperty("使用总时长(单位:min)")
    private Integer totalUsageTime;

    /**
     * 设备状态
     */
    @Column(name = "device_status")
    @ApiModelProperty("设备状态")
    private String deviceStates;

    @ApiModelProperty("设备状态Display")
    public String getDeviceStatesDisplay(){
        return deviceStates!=null? DictUtil.getDisplay("deviceState",deviceStates):null;
    }

    /**
     * 逻辑删除标识(0否1是)
     */
    @Column(name = "is_delete")
    private String isDelete;

    /**
     * 创建时间
     */
    @Column(name = "create_time")
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime createTime;

    /**
     * 创建人id
     */
    @Column(name = "create_user_id")
    private String createUserId;

    /**
     * (最近)更新时间
     */
    @Column(name = "update_time")
    @ApiModelProperty("(最近)更新时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime updateTime;

    /**
     * 更新人id
     */
    @Column(name = "update_user_id")
    private String updateUserId;

    /**
     * 备用字段1
     */
    private String attr1;

    /**
     * 备用字段2
     */
    private String attr2;

    /**
     * 备用字段3
     */
    private String attr3;

    /**
     * 备用字段4
     */
    private String attr4;

}